Skip to content

Dr.Egeria updates no longer reset properties the document doesn't set (ISSUE-162) - #482

Merged
dwolfson merged 3 commits into
odpi:mainfrom
dwolfson:fix/issue-162-update-resets-booleans
Oct 23, 2026
Merged

dwolfson merged 3 commits into
odpi:mainfrom
dwolfson:fix/issue-162-update-resets-booleans

Conversation

@dwolfson

Copy link
Copy Markdown
Member

Fixes ISSUE-162 (PYEGERIA_ISSUES.md; the entry is added in this PR): Dr.Egeria updates reset properties the document didn't mention.

Problem

Merge updates (Egeria's default) drop only None values, so any property with a non-None default was sent on every update and overwrote Egeria's existing value:

  • Update Glossary Term sent isAbstractConcept, isActivityDescription, isContext and isDataValue as False. A term with any of these set lost it on an unrelated update. Found by Resource Explorer while preparing a 96-term update batch.
  • Update Data Value Specification / Data Class sent allowsDuplicateValues and isNullable as True, matchPropertyNames, sampleValues and dataPatterns as [], matchThreshold as 0, and specificationDetails and additionalProperties as {}.

Change

  • These attributes now default to None, so a merge update leaves them out unless the document sets them. Egeria's mergeUpdate defaults to true, so the existing values are kept.
  • The previous defaults are applied only on Create (_with_create_defaults in md_processing/v2/data_designer.py, and the term flags in md_processing/v2/glossary.py), so creation behaves as before.

Testing

  • tests/micro-tests/test_issue_162_update_does_not_reset_properties.py: 7 cases. The 4 update cases fail on the old code; the 3 create cases check the create defaults are unchanged.
  • The full micro-test suite (1,436 tests) passes in a clean python:3.13-slim container with no Egeria.
  • Not live-tested.

🤖 Generated with Claude Code

dwolfson and others added 3 commits October 23, 2026 08:42
…s to False

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…t set (ISSUE-162)

Update Glossary Term sent isAbstractConcept/isActivityDescription/
isContext/isDataValue = False whenever the document omitted them, and
Update Data Value Specification / Data Class sent allowsDuplicateValues
/ isNullable = True plus empty lists/maps/0 for matchPropertyNames,
matchThreshold, specificationDetails, sampleValues, dataPatterns and
additionalProperties. Merge updates dropped only None, so these
overwrote existing values. They now default to None (omitted on a
merge update, which Egeria defaults to); the old defaults are applied
only on Create, so creation is unchanged.

Micro-tests: tests/micro-tests/test_issue_162_update_does_not_reset_properties.py
(update cases fail on the old code). Full micro-test suite passes in a
clean python:3.13-slim container.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…properties)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson merged commit 87fad7b into odpi:main Oct 23, 2026
5 checks passed
dwolfson added a commit to dwolfson/egeria-python that referenced this pull request Oct 23, 2026
…lass-names

Resolved the only conflict, PYEGERIA_ISSUES.md: both PRs inserted entries at
the top of "Open pyegeria items". Kept both, newest first: ISSUE-165, 164,
163, then 162.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
dwolfson added a commit that referenced this pull request Oct 28, 2026
* docs(issues): re-sort the issue trackers, open items first

PYEGERIA_ISSUES.md:
- Released fixes still marked "not yet released" now name the PR and
  release: ISSUE-111/113/129/134/136 (#446) and ISSUE-135 (#445) in
  6.2.2, ISSUE-153 (#460) 6.2.5, ISSUE-160 (#474/#475 6.2.8, #478 6.2.9),
  ISSUE-161 (#477) 6.2.9, ISSUE-162 (#482) and ISSUE-163/164 (#483)
  6.2.10. ISSUE-166 notes the pyegeria side (#498, 6.2.13).
- Moved the fixed entries (ISSUE-153, 160-166) from the open sections
  to the top of Fixed / Resolved.
- Awaiting re-test is now a real section after the open ones, holding
  ISSUE-125, 124, 117, 112, 90, 95 and 89. Its old header sat in the
  middle of the Fixed list, where everything under it except ISSUE-95
  and ISSUE-89 was already fixed.
- The At-a-glance counts and lists are rebuilt from the section
  contents (14 open pyegeria items, 7 awaiting re-test, 5 open Egeria
  Server issues), and the re-test section notes the quickstart now runs
  Egeria main abe31272.

EGERIA_OPEN_ISSUES.md: drop the fixed ISSUE-166 entry, and move
ISSUE-79 (Egeria needs information) and ISSUE-38 (pending oak2026
merge) out of Awaiting re-test, matching their 2026-10-18 status.

No entry text was removed: 166 entries before and after.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>

* docs(issues): ISSUE-165 released in 6.2.11

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>

---------

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant